/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;

import Controladores.AulaJpaController;
import Controladores.HorarioaulaJpaController;
import Controladores.SemestreJpaController;
import Controladores.exceptions.IllegalOrphanException;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Horarioaula;
import Usuarios.conexion;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

/**
 *
 * @author EliteBook
 */
public class IHorarioAula{
    public IHorarioAula()
    {
        
    }
    //Ingreso de horarioAula      Erick Valencia
    public void guardar(String dia,int idAula,int idSemestre)
    {
        Horarioaula horarioAula = new Horarioaula();
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorarioaulaJpaController controlador = new HorarioaulaJpaController(emf);
        horarioAula.setAnulado(false);
        horarioAula.setDia(dia);
        AulaJpaController controladorAula = new AulaJpaController(emf);
        horarioAula.setAulaidAula(controladorAula.findAula(idAula));
        SemestreJpaController controladorSemestre = new SemestreJpaController(emf);
        horarioAula.setSemestreidSemestre(controladorSemestre.findSemestre(idSemestre));
        controlador.create(horarioAula);
    }
    //Modificacion de HorarioAula          Erick Valencia
    public void modificar(Horarioaula horarioAula)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorarioaulaJpaController controlador = new HorarioaulaJpaController(emf);
        try {
            controlador.edit(horarioAula);
        } catch (IllegalOrphanException ex) {
            Logger.getLogger(IHorarioAula.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(IHorarioAula.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(IHorarioAula.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    //Busqueda de horarioaula por id        Erick Valencia
    public Horarioaula buscarId(int id)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorarioaulaJpaController controlador = new HorarioaulaJpaController(emf);
        return controlador.findHorarioaula(id);
    }
    //Busqueda de horario de Aula por Dia     Erick Valencia
     public List<Horarioaula> buscarDia(short dia)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horarioaula.findByDia");
        qr.setParameter("dia",dia);
        List<Horarioaula> lista = qr.getResultList();
        return lista;
    }
     
     public List<Horarioaula> mostrarTodo()
     {
         EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorarioaulaJpaController controlador = new HorarioaulaJpaController(emf);
        return controlador.findHorarioaulaEntities();
     }
     public List<Horarioaula> mostrarTodoFalse()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horarioaula.findByAnulado");
        qr.setParameter("anulado",false);
        List<Horarioaula> lista = qr.getResultList();
        return lista;
    }
     public List<Horarioaula> mostrarTodoTrue()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horarioaula.findByAnulado");
        qr.setParameter("anulado",true);
        List<Horarioaula> lista = qr.getResultList();
        return lista;
    }
     
     public String toString(int id)
     {
         Horarioaula horario = this.buscarId(id);
         return horario.toString();
     }
}
